

#pragma once
#include"..\\Common\\Main.h"
#include "..\\Common\\VectorMath.h"


using namespace vmath;

class Camera
{
public:
	enum CameraType { LANDOBJECT, AIRCRAFT };
private:
	vmath::Vector3<float> mPos;
	vmath::Vector3<float> mUp;
	vmath::Vector3<float> mRight;
	vmath::Vector3<float> mLook;
	CameraType mCameraType;
public:
 Camera(CameraType cameraType);
	Camera(void);
	~Camera(void);

	void Strafe(float units);
	void Fly(float units);
	void walk(float units);

/*	void yaw(float angle);
	void pitch(float angle);
	void roll(float angle);
*/
	void GetViewMatrix(vmath::Matrix4<float>* viewMatrix);
	void SetCameraType(CameraType cameraType);
	void GetPosition(vmath::Vector3<float>* vector3);
	void SetPosition(vmath::Vector3<float>* vector3);
	void UpdateCamera();


	void GetRight(vmath::Vector3<float>* vector3);
	void GetLook(vmath::Vector3<float>* vector3);
	void GetUp(vmath::Vector3<float>* vector3);

};